package everydayone.maxDepthAfterSplit;
/**
 * @Date 2020/04/1
 * @author 王光浩
 * @Thinking 核心：要是的A和B的最大的嵌套深度最小就是让A和B平分掉，原本的最大嵌套深度即可，我们使用奇偶来
 * 			 确定哪里用A哪里用B即可。
 * @Analysis 时间复杂度O（n），空间复杂度O（1）
 */
public class MyMethodOne {
	public int[] maxDepthAfterSplit(String seq) {
		int depth=0;
		int[] ret=new int[seq.length()];
//		for(int i=0;i<seq.length();i++) {
//			//注意左括号要先加，右括号要后减
//			if(seq.charAt(i)=='(')depth++;
//			if(depth%2==0)ret[i]=0;
//			else ret[i]=1;
//			if(seq.charAt(i)==')')depth--;
//		}
		//改进
		for(int i=0;i<seq.length();i++) {
			ret[i]=seq.charAt(i)=='('?i&1:(1-i&1);
		}
		return ret;
    }
}
